package com.baichang.taoshunda.dao;

import com.baichang.framework.dao.BaseDao;
import com.baichang.framework.model.Page;
import com.baichang.taoshunda.entity.WaiterList;

import java.util.List;
import java.util.Map;

public interface WaiterListDao extends BaseDao<WaiterList> {
    /**
     * 根据类型编号获取本地服务列表
     *  @param typeId   类型编号
     * @param cityId
     * @param ulat
     * @param ulng
     * @param nowPage
     * @param pageSize @return
     */
    List<Map<String, Object>> getwaiterList(int typeId, int cityId, int areaId, double ulat, double ulng, int nowPage, int pageSize);

    /**
     * 查询本地服务商家
     *
     * @param businessName
     * @param typeId
     * @param address
     * @param userId
     * @param nowPage
     * @param pageSize     @return
     */
    List<Map<String, Object>> queryWaiterBusinessList(String businessName, Integer typeId, String address, Integer userId, int nowPage, int pageSize);

    /**
     * 修改本地服务商家列表
     *
     * @param map
     * @param id
     * @return
     */
    boolean update(Map map, Integer id);

    /**
     * 删除
     *
     * @param id
     * @param state
     * @return
     */
    int updateWaiterStatus(Integer id, Integer state);

    /**
     * 查询全部商家 ， 用于地图的展示 。 返回经纬度  ， 地址  ， 名称
     *
     * @param cityid
     * @param key
     * @return
     */
    List<Map<String, Object>> findAllCompanyAtlas(int cityid, String key);

    /**
     * 查询最新数据的id
     *
     * @return
     */
    Map<String, Object> getwaiterListId();

    /**
     * 查询服务商家详细
     *
     * @param id
     * @return
     */
    Map<String, Object> queryWaiterDetails(Integer id);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    boolean deleteWaiter(Integer id);

    /**
     * @param waiterName
     * @param nowPage
     * @param pageSize
     * @return
     */
    Page queryAuditingBus(String waiterName, int nowPage, int pageSize);

    /**
     * @param waiterName
     * @param address
     * @param typeId
     * @param nowPage
     * @param pageSize   @return
     */
    Page queryWaiterBusiness(String waiterName, String address, Integer typeId, int nowPage, int pageSize);

    /**
     * @param
     * @param id
     * @param starWaiter
     * @return
     */
    int throughService(Integer id, int state, Integer starWaiter);

    /**
     * @param userId
     * @return
     */
    List<Map<String, Object>> queryAllUserWaiter(Integer userId);

    /**
     * 查询服务商家数据
     *
     * @param id
     * @return
     */
    Map<String, Object> getIdInfo(Integer id);

    /**
     *
     * @param id
     * @param status
     * @return
     */
    int updateStatus(Integer id, Integer status);

    /**
     *
     * @param id
     * @return
     */
    int getWaiterCount(Integer id);
}